package nowCoder;

import java.util.*;

public class HJ26 {
    public static void main(String[] args) {

        Scanner in = new Scanner(System.in);
        String x = in.nextLine();
        String y = x.toLowerCase();
        int[][] c = new int[x.length()][2];
        for(int i = 0; i< x.length(); i++){
            char m = y.charAt(i);
            if(m >= 'a' && m <= 'z'){
                c[i][0] = (int)m;
                c[i][1] = i;
            }
        }
        for(int i = 0; i < x.length(); i++){
            for(int j = i+1; j< x.length(); j++){
                if(c[i][0] > c[j][0]){
                    int[] temp = c[i];
                    c[i] = c[j];
                    c[j] = temp;
                }
            }
        }
        for(int i = 0 ; i < x.length() ; i ++){
            char ch = x.charAt(i);
            if((ch >= 'A' && ch <= 'Z')||(ch >= 'a' && ch <= 'z')){
                System.out.print(x.charAt(c[i][1]));
            }
            else
                System.out.print(ch);
        }
    }
    public static void main1(String[] args) {
        Scanner in = new Scanner(System.in);
        String x = in.nextLine();
        String y = x.toLowerCase();
        int[][] m = new int[x.length()][2];
        int yy = x.length();
        for (int i = 0; i < y.length(); i++) {
            m[i][0] = y.charAt(i);
            if ((m[i][0] >= 65 && m[i][0] <=90) || (m[i][0] >=95&&m[i][0] <=122))
                yy--;
            else
                m[i][0] = 0;
            m[i][1] = i;
        }
        Arrays.sort(m,(o,p)->{
            if (o[0] == p[0]){
                return o[1] - p[1];
            }
            return o[0] - p[0];
        });
        char[] xx = new char[x.length()];
        for (int i = 0; i < x.length(); i++) {
            int ii = x.charAt(i);
            if ((ii >= 65 && ii <=90) || (ii >=95 && ii <=122))
                xx[i] = x.charAt(m[yy++][1]);
            else {
                xx[i] = (char) ii;
            }
        }
        for (int i = 0; i < x.length(); i++) {
            System.out.print(xx[i]);
        }
//        int[][] y = new int[x.length()][2];
//        Character[] m = new Character[x.length()];
//        for(int i = 0 ; i< x.length(); i++){
//            y[i][0] = x.charAt(i);
//            y[i][1] = i;
//        }
//        Arrays.sort(y, Comparator.comparing(yy->yy[0]));
////        for (int i = 0; i < x.length(); i++) {
////            int yy = y[i][0];
////            if (yy >= 65 && yy <= 90){
////                yy += 32;
////            }
////            for (int j = 0; j < x.length(); j++) {
////                int jj = y[j][0];
////                if (jj >= 65 && jj <= 90){
////                    jj += 32;
////                }
////                if(yy > jj){
////                    int[] tem = y[i];
////                    y[i] = y[j];
////                    y[j] = tem;
////                }
////            }
////        }
//        int p = 0;
//        for (int i = 0; i < x.length(); i++) {
//            int[] tem = y[i];
//            if ((tem[0] >= 65 && tem[0] <=90 ) || (tem[0] >= 95 && tem[0] <= 122)){
//                if (m[p] != null){
//                    p++;
//                }
//                m[p] = (char)tem[0];
//                p++;
//            }else {
//                m[tem[1]] = (char)tem[0];
//            }
//        }
//        for (int i = 0; i < x.length(); i++) {
//            System.out.print(xx[i]);
//        }
    }
}
